home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / bsd / sys / vfs_stat.h < prev    next >
C/C++ Source or Header  |  1995-02-14  |  2KB  |  84 lines

  1. /*    @(#)vfs_stat.h    1.2 88/05/23 NFSSRC4.0 from 1.3 88/02/08 SMI     */
  2.  
  3. /*
  4.  * HISTORY
  5.  * 19-Dec-88  Peter King (king) at NeXT
  6.  *    Original NFS 4.0 source.
  7.  */
  8.  
  9. /*
  10.  * The stat structure is a two dimentional array. The major index is
  11.  * the op number defined below, the minor index is VS_HIT or VS_MISS.
  12.  */
  13.  
  14. #define    VS_CALL        0    /* Op called */
  15. #define    VS_MISS        1    /* Cache miss */
  16.  
  17. /*
  18.  * VFS OPS
  19.  */
  20. #define    VS_ROOT        0
  21. #define    VS_STATFS    1
  22. #define    VS_SYNC        2
  23. #define    VS_VGET        3
  24.  
  25. /*
  26.  * Vnode ops
  27.  */
  28. #define VS_OPEN        4
  29. #define VS_CLOSE    5
  30. #define VS_READ        6
  31. #define VS_WRITE    7
  32. #define VS_IOCTL    8
  33. #define VS_SELECT    9
  34. #define VS_GETATTR    10
  35. #define VS_SETATTR    11
  36. #define VS_ACCESS    12
  37. #define VS_LOOKUP    13
  38. #define VS_CREATE    14
  39. #define VS_REMOVE    15
  40. #define VS_LINK        16
  41. #define VS_RENAME    17
  42. #define VS_MKDIR    18
  43. #define VS_RMDIR    19
  44. #define VS_READDIR    20
  45. #define VS_SYMLINK    21
  46. #define VS_READLINK    22
  47. #define VS_FSYNC    23
  48. #define VS_INACTIVE    24
  49. #define VS_BMAP        25
  50. #define VS_STRATEGY    26
  51. #define    VS_BREAD    27
  52. #define    VS_BRELSE    28
  53. #define VS_LOCKCTL    29
  54. #define VS_FID        30
  55. #define VS_DUMP        31
  56. #define VS_CMP        32
  57. #define VS_REALVP    33
  58.  
  59. #define    VS_NOPS        34
  60.  
  61. #ifndef KERNEL
  62. char *vs_opnames[VS_NOPS] = {
  63.     "root", "statfs", "sync", "vget", "open", "close", "read", "write",
  64.     "ioctl", "select", "getattr", "setattr", "access", "lookup", "create",
  65.     "remove", "link", "rename", "mkdir", "rmdir", "readdir", "symlink",
  66.     "readlink", "fsync", "inactive", "bmap", "strategy", "bread", "brelse",
  67.     "lockctl", "fid", "dump","cmp", "realvp"
  68. };
  69. #endif
  70.  
  71. struct vfsstats {
  72.     time_t    vs_time;
  73.     int    vs_counts[VS_NOPS][2];
  74. };
  75.  
  76. #ifdef VFSSTATS
  77. #define    VFS_RECORD(vfs, op, hitmiss) \
  78.     ((vfs)->vfs_stats \
  79.         ? ((struct vfsstats *)(vfs)->vfs_stats)->vs_counts[op][hitmiss]++ \
  80.         : 0 )
  81. #else
  82. #define    VFS_RECORD(vfs, op, hitmiss)
  83. #endif
  84.